-
Notifications
You must be signed in to change notification settings - Fork 953
Add draft of FASTQ_REMOVE_ADAPTERS_AND_MERGE subworkflow with tests #9521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* add ontologies to tcoffee regressive * add ontologies to upp align
* Add module pbmarkdup * Fix linting * Update path to test data * Update with code review (--dup-file, log, check file name collisions) * Fix linting * Update path to test data * Update modules/nf-core/pbmarkdup/meta.yml * Fix linting
* Enable complex contrast strings * Update docker image * Add test case with limma contrast string * Format changes and add test with shrinkage
* Add deepvariant optional html * update snapshot * Update modules/nf-core/deepvariant/rundeepvariant/main.nf Co-authored-by: Ramprasad Neethiraj <[email protected]> * trigger html generation * revert config change --------- Co-authored-by: Ramprasad Neethiraj <[email protected]>
fix small lang server error
HISAT2 uses .ht2l extension instead of .ht2 for large genomes. Updated index detection to match both extensions. Related to nf-core/rnaseq#1643 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <[email protected]>
…erministic (#9489) * Sort file listing so "first" file is deterministic * Declare closure parameter per strict syntax Co-authored-by: Matthias Hörtenhuber <[email protected]> --------- Co-authored-by: Matthias Hörtenhuber <[email protected]> Co-authored-by: mashehu <[email protected]>
* sambamba add region bed input * fix linting * fix linting * Apply suggestions from code review Co-authored-by: Felix Lenner <[email protected]> --------- Co-authored-by: Felix Lenner <[email protected]>
* fix fasta_index_methylseq and fastq_align_dedup workflows for clarity and consistency - Updated variable names in fasta_index_methylseq to use 'channel' instead of 'Channel' for consistency. - Renamed UNTAR to UNTAR_BISMARK and UNTAR_BWAMETH for clarity in fasta_index_methylseq. - Enhanced comments and descriptions in meta.yml files for better understanding of input and output structures. - Adjusted test cases in fastq_align_dedup workflows to reflect changes in input structure from single-end to paired-end. - Updated version numbers in test snapshots to reflect recent changes. * fix: pre-commit lint fixes
* Update glimpse * Update chunk * Update concordance * Revert changes * Fix glimpse test * Fix glimpse * Fix glimpse2 tests * Update sbwf * Remove old snapshots * Update glimpse * Update modules/nf-core/glimpse2/concordance/tests/main.nf.test Co-authored-by: Matthias Hörtenhuber <[email protected]> * Update test --------- Co-authored-by: LouisLeNezet <[email protected]> Co-authored-by: Matthias Hörtenhuber <[email protected]>
* update and add topics * add new topics structure * add stub test and capture version in snapshot * update to 9.14.0 * fix singularity be setting cache_dir * fix stub --------- Co-authored-by: Matthias Hörtenhuber <[email protected]> Co-authored-by: mashehu <[email protected]>
* fix stub version * stray module
rename variable
- Add missing gene_id_col parameter definition (defaults to 'gene_id') - Include gene IDs as first column in all results tables using configurable column name - Only write output files when there are significant results to avoid empty files - Mark all results TSV outputs as optional since they're conditionally created - Update test to use buffering results instead of empty mRNA_abundance results - Update test snapshots with new file formats including gene_id column This ensures anota2seq results are consistent with other modules and include gene identifiers for downstream analysis, while gracefully handling cases where no genes pass significance thresholds. Co-authored-by: Sebastian Uhrig <[email protected]>
#9516) fix(decoupler): reorder imports and ensure environment variables are set before importing modules
Add strdrop build
…9201) * 🔧 update image and bioconda container to latest version * ✅ update test snapshots * 🐛 fix display of version of vuegen - had no command line interface option to display version, see Multiomics-Analytics-Group/vuegen#167 * 🎨 display versions.yml content in snapshots * 🔧 add Dockerfile to install lastet PyPI vuegen version - does not pass hadolint(er) as of now * 🚧 add wave containers * 🔥 remove README again * 🔥 remove Dockerfile again * 🚧 try to follow Mahesh's advice * 🐛 add explicit cache directory * 🔧 bump to Python 3.12 and remove channel prefix * 🔧 specify singularity image with https ... as specified in the docs: https://nf-co.re/docs/tutorials/nf-core_components/using_seqera_containers * 🚧 set user specified R libarary folder * ⏪ make docker and conda work again (using nf-core 3.5.1) * 🔧 switch again to custom docker image instead of wave - wave leads to too many custom installation issues * 🐛 try to add font package * 🔥 remove code moved to image - singularity runs in devcontainer * ⏪ add back conda quarto flag * 🎨 remove trailing whitespace * 🎨 format again * 🎨 hopefully the last trailing whitespace * 📝 document the build process and why the container is needed * Update image with nf-core one Co-authored-by: Matthias Hörtenhuber <[email protected]> * Update container name Co-authored-by: Matthias Hörtenhuber <[email protected]> * Apply suggestion from @mashehu * Apply suggestion from @mashehu --------- Co-authored-by: Famke Bäuerle <[email protected]> Co-authored-by: Matthias Hörtenhuber <[email protected]>
Bump qsv
Co-authored-by: nf-core-bot <[email protected]>
* Update semibin2 module * Update snapshot * Remove unneeded snapshot section --------- Co-authored-by: Matthias Hörtenhuber <[email protected]>
Note for reviewers:
|
|
|
||
| take: | ||
| reads // channel: [ val(meta), [ reads ] ] | ||
| skip_trimmomatic // boolean |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You didn't leave any notes in the PR description, so I'm not sure. Is it your intention that folks would want to run multiple trimming methods, which is why you've avoided a simpler trimmer param or similar, as fastq_qc_trim_filter_setstrandedness does (for example)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exactly, the idea is to select 1 or more adapter removal (and/or merge) tools. This subworkflow is going to be part of the mega fastq QC/preprocessing subworkflow described here.
Potentially, with pipeline chaining, this could one day become its own standalone pipeline that would be executed before all fastq short read pipelines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After discussing with @jfy133, it seems this subworkflow will act as a plug-in interface, that will hide the complexity of the underlying tools from the user, while letting them pick their favourite adapter removal tool of choice.
i.e., one selected tool, and not chaining tools.
Updating accordingly..
| skip_cutadapt // boolean | ||
| skip_trimgalore // boolean | ||
| skip_bbduk // boolean | ||
| contaminants // channel: [ reads ] // fasta, adapters to remove |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would this benefit from metas? I think we normally require those these days (not all of the modules/ subworkflows have caught up)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At this point in time, I just sourced the inputs in the format that they are being used by the included modules. Will update accordingly when and if the module inputs are updated at module side ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My instinct was with Jon, but fair enough. We could try and push pipeline develoeprs to update teh original module by requiring meta here (even if we drop it in the subworkflow)
| fastp_save_trimmed_fail // boolean | ||
| save_merged // boolean | ||
| skip_adapterremoval // boolean | ||
| text_adapters // channel: [ txt ] // adapters to remove, in adapterremoval text format |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same, think this could do with a meta
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above
pinin4fjords
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder a bit how it fits into the landscape of other trimming/ preprocessing workflows, but nothing particularly objectionable
Thanks! I'll wait for @jfy133 for a final review pass and will then merge. |
jfy133
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some initial comments - @vagkaratzas and I spoke on Slack in more detail about what I had in my mind when I suggested this subworkflow vs what is implemented here.
I can see why Jon was a bit confused about the purpose of the subworkflow, hopefully it'll be clearer based on the refactor we discussed on Slack
| if (!skip_cutadapt) { | ||
| CUTADAPT( ch_reads ) | ||
| ch_reads = CUTADAPT.out.reads | ||
| ch_multiqc_files = ch_multiqc_files.mix(CUTADAPT.out.log) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing cut adapt versions mixing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't do that for modules that have been updated to the new version output syntax ;)
As in, it's kinda impossible without the pieces of code at the end of the new pipeline's template.
@maxulysse for back-up!
| ch_reads = TRIMGALORE.out.reads | ||
| ch_discarded_reads = ch_discarded_reads.mix(TRIMGALORE.out.unpaired) | ||
| ch_trimgalore_log = TRIMGALORE.out.log | ||
| ch_trimgalore_html = TRIMGALORE.out.html |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing timmomatic versions mixing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above
| ) | ||
| ch_discarded_reads = ch_discarded_reads.mix(ADAPTERREMOVAL_SE.out.discarded, ADAPTERREMOVAL_PE.out.discarded) | ||
| ch_adapterremoval_paired_interleaved = ADAPTERREMOVAL_SE.out.paired_interleaved.mix(ADAPTERREMOVAL_PE.out.paired_interleaved) | ||
| ch_versions = ch_versions.mix(ADAPTERREMOVAL_SE.out.versions.first(), ADAPTERREMOVAL_PE.out.versions.first()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this work if only one of the two modules are run? I would rather put a dedicated mix after each module invocation independently
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, seemed to be working fine during tests
subworkflows/nf-core/fastq_removeadapters_merge/tests/main.nf.test
Outdated
Show resolved
Hide resolved
| } | ||
|
|
||
| if (!skip_adapterremoval) { | ||
| ch_adapterremoval_in = ch_reads |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another Question here just to double check, do all the other tools not care how they receive their data (i.e., can handle easily both)?
The reason why we have it separate for ADAPTEREMOVAL is more about the mkixing the output channels more than any thing else
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep! that's how it seems on the tests where nothing is skipped for both single and paired ends
Co-authored-by: James A. Fellows Yates <[email protected]>
Co-authored-by: James A. Fellows Yates <[email protected]>
jfy133
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Content review, looking much nicer now! Main issue is AdapterRemoval
| ch_report = channel.empty() // from trimmomatic, trimgalore, fastp | ||
| ch_versions = channel.empty() | ||
| ch_multiqc_files = channel.empty() // from trimmomatic, cutadapt, bbduk, leehom, fastp, adapterremoval | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would add a validation check here to make sure whatever is given to val_adapter_tool is recognised by the subworkflow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is this else condition at the end:
else {
error('Please choose one of the available adapter removal and merging tools: ["trimmomatic", "cutadapt", "trimgalore", "bbduk", "leehom", "fastp", "adapterremoval"]')
}
Is this not enough?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yeah, missed that 😅
I personally would put it separately right at the beginning as I find it easier to 'read' and know the rest of subwf won't start until it passes. But that's just personal prefereence, this still works.
| TRIMMOMATIC( ch_input_reads ) | ||
|
|
||
| ch_processed_reads = TRIMMOMATIC.out.trimmed_reads | ||
| ch_discarded_reads = ch_discarded_reads.mix(TRIMMOMATIC.out.unpaired_reads.transpose()) // .transpose() because paired reads have 2 unpaired files in an array |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean by 2 unpaired files in an array? Do they represent different 'discarded' files? Or the discarded reads from each of the R1/R2? In the latter case does ti makes sense to separated them?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's the latter (rephrased the comment a bit). leehom does something similar I think a bit further down the code. I would keep as it is and let the user handle it differently in the pipeline level if they wish.
| ch_processed_reads = ADAPTERREMOVAL_SE.out.collapsed | ||
| .mix( | ||
| ADAPTERREMOVAL_PE.out.collapsed, | ||
| ADAPTERREMOVAL_SE.out.collapsed_truncated, | ||
| ADAPTERREMOVAL_PE.out.collapsed_truncated | ||
| ) | ||
| } else { | ||
| ch_processed_reads = ADAPTERREMOVAL_SE.out.singles_truncated.mix(ADAPTERREMOVAL_PE.out.paired_truncated) | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check against
Preparing the AdapterRemoval reads is a little more complicated than just mixing, and you appear to have a mistake (there is no ADAPTERREMOVAL_SE.out.collapsed_truncated -> collapsed here means merged, but you don't get merged SE data).
What I would recommend is to offer as 'single' output:
- SE (singles_truncated)
- Unmerged Pairs (paird_truncated)
- Merged pairs (collapsed + collapsed_truncated)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I copied over from eager; is this correct/needed though:
ADAPTERREMOVAL_PAIRED.out.singles_truncated,
?
jfy133
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove that oneline then I think you're good to go!
Co-authored-by: James A. Fellows Yates <[email protected]>
…9521) * Add draft of FASTQ_REMOVE_ADAPTERS_AND_MERGE subworkflow with tests * Add ontologies to tcoffee/regressive and upp/align modules (#9484) * add ontologies to tcoffee regressive * add ontologies to upp align * Add module PBMARKDUP (#9457) * Add module pbmarkdup * Fix linting * Update path to test data * Update with code review (--dup-file, log, check file name collisions) * Fix linting * Update path to test data * Update modules/nf-core/pbmarkdup/meta.yml * Fix linting * Enable complex contrast strings in DESeq2 (#9473) * Enable complex contrast strings * Update docker image * Add test case with limma contrast string * Format changes and add test with shrinkage * Declare deepvariant optional html output (#9469) * Add deepvariant optional html * update snapshot * Update modules/nf-core/deepvariant/rundeepvariant/main.nf Co-authored-by: Ramprasad Neethiraj <[email protected]> * trigger html generation * revert config change --------- Co-authored-by: Ramprasad Neethiraj <[email protected]> * utils_nfcore_pipeline: fix small lang server error (#9492) fix small lang server error * Fix hisat2/align to support large genome indices (.ht2l) (#9493) HISAT2 uses .ht2l extension instead of .ht2 for large genomes. Updated index detection to match both extensions. Related to nf-core/rnaseq#1643 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <[email protected]> * Update shinyngs modules to latest release (#9488) * Update semibin/singleeasybin environment (#9495) * add new ontology term to tcoffee align (#9497) * tcoffee_extractfrompdb test: sort file listing so "first" file is deterministic (#9489) * Sort file listing so "first" file is deterministic * Declare closure parameter per strict syntax Co-authored-by: Matthias Hörtenhuber <[email protected]> --------- Co-authored-by: Matthias Hörtenhuber <[email protected]> Co-authored-by: mashehu <[email protected]> * Sambamba depth add region bed input (#9498) * sambamba add region bed input * fix linting * fix linting * Apply suggestions from code review Co-authored-by: Felix Lenner <[email protected]> --------- Co-authored-by: Felix Lenner <[email protected]> * fix fasta_index_methylseq and fastq_align_dedup workflows (#9496) * fix fasta_index_methylseq and fastq_align_dedup workflows for clarity and consistency - Updated variable names in fasta_index_methylseq to use 'channel' instead of 'Channel' for consistency. - Renamed UNTAR to UNTAR_BISMARK and UNTAR_BWAMETH for clarity in fasta_index_methylseq. - Enhanced comments and descriptions in meta.yml files for better understanding of input and output structures. - Adjusted test cases in fastq_align_dedup workflows to reflect changes in input structure from single-end to paired-end. - Updated version numbers in test snapshots to reflect recent changes. * fix: pre-commit lint fixes * Update test files for Glimpse (#9467) * Update glimpse * Update chunk * Update concordance * Revert changes * Fix glimpse test * Fix glimpse * Fix glimpse2 tests * Update sbwf * Remove old snapshots * Update glimpse * Update modules/nf-core/glimpse2/concordance/tests/main.nf.test Co-authored-by: Matthias Hörtenhuber <[email protected]> * Update test --------- Co-authored-by: LouisLeNezet <[email protected]> Co-authored-by: Matthias Hörtenhuber <[email protected]> * meta.yml schema: add `containers` section, fix order and simplify (#9503) * fix order * add container section * simplify schema * require https for singluarity * update and add topics to snakemake module (#9454) * update and add topics * add new topics structure * add stub test and capture version in snapshot * update to 9.14.0 * fix singularity be setting cache_dir * fix stub --------- Co-authored-by: Matthias Hörtenhuber <[email protected]> Co-authored-by: mashehu <[email protected]> * fix sambamba depth stub version (#9509) * fix stub version * stray module * anota2seq: wrong variable name for batch assignment (#9511) rename variable * fix(anota2seq): add gene IDs and handle empty results (#9510) - Add missing gene_id_col parameter definition (defaults to 'gene_id') - Include gene IDs as first column in all results tables using configurable column name - Only write output files when there are significant results to avoid empty files - Mark all results TSV outputs as optional since they're conditionally created - Update test to use buffering results instead of empty mRNA_abundance results - Update test snapshots with new file formats including gene_id column This ensures anota2seq results are consistent with other modules and include gene identifiers for downstream analysis, while gracefully handling cases where no genes pass significance thresholds. Co-authored-by: Sebastian Uhrig <[email protected]> * fix(decoupler): reorder imports and ensure environment variables are … (#9516) fix(decoupler): reorder imports and ensure environment variables are set before importing modules * Add strdrop/build (#9512) Add strdrop build * chore(deps): update infrastructural dependencies * 🔧 update image and bioconda container for VueGen to latest version (#9201) * 🔧 update image and bioconda container to latest version * ✅ update test snapshots * 🐛 fix display of version of vuegen - had no command line interface option to display version, see Multiomics-Analytics-Group/vuegen#167 * 🎨 display versions.yml content in snapshots * 🔧 add Dockerfile to install lastet PyPI vuegen version - does not pass hadolint(er) as of now * 🚧 add wave containers * 🔥 remove README again * 🔥 remove Dockerfile again * 🚧 try to follow Mahesh's advice * 🐛 add explicit cache directory * 🔧 bump to Python 3.12 and remove channel prefix * 🔧 specify singularity image with https ... as specified in the docs: https://nf-co.re/docs/tutorials/nf-core_components/using_seqera_containers * 🚧 set user specified R libarary folder * ⏪ make docker and conda work again (using nf-core 3.5.1) * 🔧 switch again to custom docker image instead of wave - wave leads to too many custom installation issues * 🐛 try to add font package * 🔥 remove code moved to image - singularity runs in devcontainer * ⏪ add back conda quarto flag * 🎨 remove trailing whitespace * 🎨 format again * 🎨 hopefully the last trailing whitespace * 📝 document the build process and why the container is needed * Update image with nf-core one Co-authored-by: Matthias Hörtenhuber <[email protected]> * Update container name Co-authored-by: Matthias Hörtenhuber <[email protected]> * Apply suggestion from @mashehu * Apply suggestion from @mashehu --------- Co-authored-by: Famke Bäuerle <[email protected]> Co-authored-by: Matthias Hörtenhuber <[email protected]> * qsv/cat: bump version (#9518) Bump qsv * Update haplogrep3 recipe to use topics (#9523) Co-authored-by: nf-core-bot <[email protected]> * semibin/singleeasybin: bump version + migrate to topics (#9517) * Update semibin2 module * Update snapshot * Remove unneeded snapshot section --------- Co-authored-by: Matthias Hörtenhuber <[email protected]> * remove unused folder * rename * trimmomatic revisit * cutadapt revisit * trimgalore revisit * bbduk revisit * fastp revisit * adapterremoval revisit * leehom checkpoint (#9534) * leehom checkpoint * debugged with transpose and proper collect on nf-test * leehom change order * remove ngmerge because cant deal with /1 /2 paired reads * paired end no merge test * New module: clusty (#9533) * new module clusty * patch links docs * fix prettier * remove non-mandatory input 'algorithm' * also patch stub input * Bump TRGT to 4.1.0 (#9514) * Bump TRGT to 4.1.0 * Switch to topics * Update modules/nf-core/trgt/genotype/tests/main.nf.test Co-authored-by: Matthias Hörtenhuber <[email protected]> * remove duplicate versions --------- Co-authored-by: Matthias Hörtenhuber <[email protected]> * fix missing quotes (#9535) * Fix dream to show more than 10 results (#9507) * fix: dream to show more than 10 results * test: update snapshots * test: update snapshots * feat: add round digits option and update snapshots again * fix: improve code formatting and update test snapshots * Fix tests and update snapshots * Update snapshot for `abundance_differential_filter` subworkflow * Fix tests with unstable content * Fix unstable files in test for `abundance_differential_filter` subworkflow --------- Co-authored-by: Anabella Trigila <[email protected]> * rename to more appropriate fastq_preprocess_seqkit (#9537) * New module - TD2 (added modules for td2.longorfs & td2.predict) (#9475) * added modules for td2.longorfs & td2.predict * changes to version handling, updated snaps, and tests - resolving comments * added topics section in meta.yml * fix topics section in meta.yml * Update modules/nf-core/td2/longorfs/main.nf Co-authored-by: Simon Pearce <[email protected]> * Update modules/nf-core/td2/longorfs/meta.yml Co-authored-by: Simon Pearce <[email protected]> * Update modules/nf-core/td2/predict/main.nf Co-authored-by: Simon Pearce <[email protected]> * Update modules/nf-core/td2/longorfs/meta.yml Co-authored-by: Simon Pearce <[email protected]> * Update main.nf - stub run * Update meta.yml * resolving comments * updated emad ontologies * Update modules/nf-core/td2/predict/tests/main.nf.test.snap * Update modules/nf-core/td2/predict/main.nf * Update modules/nf-core/td2/longorfs/tests/main.nf.test.snap * Update modules/nf-core/td2/longorfs/main.nf * Update modules/nf-core/td2/predict/tests/main.nf.test.snap * Update modules/nf-core/td2/longorfs/tests/main.nf.test.snap --------- Co-authored-by: Simon Pearce <[email protected]> * Bump ichorCNA package build in ichorcna/createpon and ichorcna/run (#9531) * Bump ichorCNA package build in ichorcna/createpon and ichorcna/run At the moment, creating a PoN without data on chromosome X is bound to fail due to a bug in ichorCNA(GavinHaLab/ichorCNA#26). It is unclear when a new version will be out, so I have patched the current bioconda package (bioconda/bioconda-recipes#61045) and built new container images, which I want to update to in this PR. * Update some md5sums * Update test snapshot * Update test snapshot * RSeQC split_bam.py module implementation (#9536) * RSeQC split_bam.py module implementation Syntax edit Refractored version channel to topic Cleanup * Update modules/nf-core/rseqc/splitbam/main.nf Co-authored-by: Felix Lenner <[email protected]> * Update modules/nf-core/rseqc/splitbam/tests/main.nf.test Co-authored-by: Felix Lenner <[email protected]> * Update modules/nf-core/rseqc/splitbam/tests/main.nf.test Co-authored-by: Felix Lenner <[email protected]> * Updated snapshot --------- Co-authored-by: Felix Lenner <[email protected]> Co-authored-by: Nicolas Vannieuwkerke <[email protected]> * remove topics from multiqc (#9530) * remove topics from multiqc * versions_multiqc -> versions * Apply suggestion from @nvnieuwk * fix meta.yml after merge * bump to MultiQC version 1.33 (#9538) * bump to 1.33 * update snapshots --------- Co-authored-by: Matthias Hörtenhuber <[email protected]> * Add strdrop/call (#9513) * Add strdrop build * Add strdrop/call * remove tag * fix wrong parameter name in error * align * remove duplicate versions * snaps * figure out why snapshots are not stable * different versions of trgt used in setup * Bump TRGT to 5.0.0 (#9541) 5.0.0 * Channel -> channel in some subwfs (#9542) Channel -> channel * Migrate cat/fastq to topic channel (#9543) * Migrate cat/fastq to topic channel * Remove out.versions in related subworkflows * Update snapshots (again) * Add module picard/collectvariantcallingmetrics (#9502) * Add module picard/collectvariantcallingmetrics * Run prettier * Fix format * Make one input tuple * Change test input structure * Add md5 checksum * Update snapshot * Update meta.yml * Support multithreading * Remove TODO Co-authored-by: Famke Bäuerle <[email protected]> --------- Co-authored-by: Famke Bäuerle <[email protected]> * fix tabix/tabix stub (#9544) * fix tabix stub * bump max shards to 16 * Unify msa modules (#9539) * add mafft_align subworkflow to prepare channels for mafft/align like all other msa modules * default output format fasta for tcoffee align and regressive to match other msa modules * [automated] Fix linting with Prettier * Update subworkflows/nf-core/mafft_align/main.nf Co-authored-by: Jose Espinosa-Carrasco <[email protected]> --------- Co-authored-by: nf-core-bot <[email protected]> Co-authored-by: Jose Espinosa-Carrasco <[email protected]> * Fix missing version from subworkflow snapshot (#9548) * New module: whatshap/phase (#9431) * add whatshap phase module * change the vcf-specific test * change test * add versions * remove snapshot * update snapshot * Update modules/nf-core/whatshap/phase/tests/main.nf.test Co-authored-by: Famke Bäuerle <[email protected]> * rm unused args * add snapshot * add ontologies * update the snapshot * add versions to snapshot * fix stub issues * update the test and snap * fix format with "nextflow lint" * fix hardcoded name and file name ambiguity problem --------- Co-authored-by: Famke Bäuerle <[email protected]> * Bump version cat/cat to pigz 2.8 & rewrite nf-test & topic channel (#9549) * bump version cat/cat * reinclude cat tags for other modules * patch test name & meta.yml * Update main.nf.test * plastid metagene_generate, make_wiggle, psite (#9482) * plastid metagene_generate, make_wiggle, psite * pair BAM and BAI files * pair bam and p_offsets * omit optional arguments * metagene generate accepts various input formats * add meta * do not remove variable headers from output files * warning about hard-coded version * make lint happy * make lint happy #2 * plastid/make_wiggle: nf-core standards compliance - Add mapping_rule val input (enum: fiveprime, threeprime, center, fiveprime_variable) - Move output_format to ext.args (optional arg per nf-core standards) - Add validation: error if p_offsets missing with fiveprime_variable - Remove hardcoded --fiveprime_variable - Update meta.yml with mapping_rule input and enum - Update tests with mapping_rule input 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * adapt meta.yml to new parameters * plastid: consolidate test snapshots and fix reproducibility - Consolidate multiple snapshot assertions into single snapshots per test - Remove snapshots of empty stub files (just check existence) - Exclude non-reproducible PNG from psite snapshots (matplotlib drift) - Format metagene_generate command across multiple lines 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * plastid/make_wiggle: remove tracks from snapshot Wig files have non-reproducible md5sums across environments. Content is already validated via getText().contains('track'). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * plastid/psite: remove non-reproducible outputs from snapshot metagene_profiles.txt and p_offsets.txt have non-reproducible md5sums. Content is already validated via getText().contains() checks. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> --------- Co-authored-by: Jonathan Manning <[email protected]> Co-authored-by: Claude Opus 4.5 <[email protected]> * Add index and threads to trgt/merge (#9545) * Fix test path modification (#9465) * Update bcftools * Update bcftools csq * Update somalier ancestry * Update bcftools pluginfilltags * Update cnvnator * Update snap cnvnator * Fix extract somalier sbwf * Update snapshot * Update md5 * Fix linting * Upd snapshot * Upd snapshot * Upd snapshot * Upd snapshot --------- Co-authored-by: LouisLeNezet <[email protected]> * Update xenium ranger modules and subworkflows (#9525) * update xeniumranger modules to use xeniumranger v4.0 * update xeniumranger modules to use xeniumranger v4.0 * fix: update xeniumranger import-segmentation tests and logic * update test compute resource spec to follow 10x website * remove extra file * fix: apply topic channels and update meta.yml structure for xeniumranger * fix: update meta.yml structure to satisfy schema * fix: align meta.yml with topic versions blog post example * fix: update meta.yml topics structure to satisfy schema validation * fix: automated lint fix for meta.yml topics structure * fix: use standard container definition syntax * fix: apply topic versions to rename module * fix: apply topic versions and meta.yml schema fixes for xeniumranger modules and subworkflows * untrack files * remove test config files for github workflow * remove config def in tests * remove config def in tests * Update tests and snapshots for xeniumranger modules and subworkflows * remove subworkflows for xeniumranger * remove subworkflows for xeniumranger * fix: update test template * fix relabel meta.yml * make prek hppy * make prek hppy * make prek hppy * update import-segmentation doc * update import-segmentation doc * fix oncologies * Fix snapshot file key order for rename and resegment modules * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> * comment out config * fix: make prek happy * fix typo * remove test files --------- Co-authored-by: Dongze He <[email protected]> Co-authored-by: Sameesh Kher <[email protected]> Co-authored-by: Copilot <[email protected]> * Version update: Modkit repair, callmods and bedmethyltobigwig (#9547) * update to v0.6 * update to v0.6 * update to v0.6 * update yml * update to v0.6 * update snapshot * update snapshot --------- Co-authored-by: ra25wog <[email protected]> * Update `GLIMPSE` sbwf (#9524) * Update glimpse sbwf * Update test * Update filter operation * Update subworkflows/nf-core/vcf_impute_glimpse/main.nf Co-authored-by: Nicolas Vannieuwkerke <[email protected]> * Update subworkflows/nf-core/vcf_impute_glimpse/main.nf Co-authored-by: Nicolas Vannieuwkerke <[email protected]> * Update subworkflows/nf-core/vcf_impute_glimpse/main.nf Co-authored-by: Nicolas Vannieuwkerke <[email protected]> * Update subworkflows/nf-core/vcf_impute_glimpse/main.nf Co-authored-by: Nicolas Vannieuwkerke <[email protected]> * Update snapshot --------- Co-authored-by: LouisLeNezet <[email protected]> Co-authored-by: Nicolas Vannieuwkerke <[email protected]> * Add quilt imputation subworkflow (#9443) * Add sbwf quilt * Fix tags * Update meta * Use modules repo files * Update glimpse2 imputation subworkflow (#9434) * Update glimpse2 sbwf * Update test * Update subworkflows/nf-core/bam_vcf_impute_glimpse2/main.nf Co-authored-by: Jonathan Manning <[email protected]> * Update subworkflows/nf-core/bam_vcf_impute_glimpse2/tests/main.nf.test Co-authored-by: Jonathan Manning <[email protected]> * Add deprecation * Change ifEmpty --------- Co-authored-by: LouisLeNezet <[email protected]> Co-authored-by: Jonathan Manning <[email protected]> * Add `BEAGLE5` imputation subworkflow (#9550) * Update glimpse2 sbwf * Update test * Add region to beagle5 * Add subworkflow * Fix linting * Fix linting * Fix linting * Update subworkflows/nf-core/vcf_impute_beagle5/main.nf Co-authored-by: Nicolas Vannieuwkerke <[email protected]> * Add comment * Update grouping and test * Remove tag * Revert change glimpse2 reference * Revert change glimpse2 sbwf * Revert change glimpse2 sbwf * Revert change glimpse2 sbwf --------- Co-authored-by: LouisLeNezet <[email protected]> Co-authored-by: Nicolas Vannieuwkerke <[email protected]> * Add minimac4 imputation subworkfllow (#9451) * Add vcf_impute_minimac4 * Update linting * Update test * Fix linting * Update minimac4 sbwf * Remove tag * Remove tag * Fix linting * Add comment * Update snapshot * Fix nf-test * Add BBSplit stats to MultiQC in fastq_qc_trim_filter_setstrandedness subworkflow (#9559) Add BBSplit stats to MultiQC files in fastq_qc_trim_filter_setstrandedness Pass BBSplit stats output to MultiQC for visualization of read binning statistics. MultiQC 1.33+ includes support for parsing BBSplit stats.txt files and displaying per-sample read distribution across reference genomes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <[email protected]> * Update cutadapt (#9551) * proper stub for gz and stub test added * topic output syntax and tests update * meta yml updated with topics and ontologies * meta file curated * version bump to latest * update nf-tests properly * adding self to maintainers * removed Z flag as is deprecated after v4.10 * conda bug with different pre-built python version fixed * added cutadapt to stub now that stub gz is properly created, and removed cutadapt versions, since it is now ported to topics * single-end test with tool skips * Standarize and alignment for all imputation and alignment modules (#9566) * Standarize and alignment * Fix glimpse2 sbwf test * Fix test * Add comment * Update snapshot --------- Co-authored-by: LouisLeNezet <[email protected]> * Update Infrastructural dependencies * Remove .view() (#9567) * Bump strdrop to 0.3.1 (#9565) * Remove unecessary tags (#9568) * Remove .view() * Remove unecessary tags * Update trimgalore (#9570) * testing solo trim-galore container, without adding extra cutadapt and pigz * Syntax updates and topic version for manta modules (#9556) * update manta germline * topics convertinversion * topics convertinversion * topics manta/somatic * topics manta/tumoronly * Syntax updates and topics of jasminesv (#9554) syntax updates and topics of jasminesv * Update `Modkit pileup` (#9553) * update yaml * update main.nf * modified test runs * update bedmethyltobigwig tests * update main * update snapshot * fix linting * update snapshots * remove config * update module_args * [automated] Fix linting with Prettier * changed name * update main --------- Co-authored-by: ra25wog <[email protected]> Co-authored-by: nf-core-bot <[email protected]> * Standarize and alignment for all imputation and alignment modules (#9566) * Standarize and alignment * Fix glimpse2 sbwf test * Fix test * Add comment * Update snapshot --------- Co-authored-by: LouisLeNezet <[email protected]> * Update Infrastructural dependencies * Remove .view() (#9567) * Bump strdrop to 0.3.1 (#9565) * Remove unecessary tags (#9568) * Remove .view() * Remove unecessary tags * latest container, with cutadapt 5.2 * new output syntax, nf-tests updated, meta updated * meta yml lint fixed * trying to fix lint * lint fix with nf-core tools 3.6.0dev * removing TRIMGALORE versions output from the FASTQ_FASTQC_UMITOOLS_TRIMGALORE subworkflow --------- Co-authored-by: Nicolas Vannieuwkerke <[email protected]> Co-authored-by: Jinn <[email protected]> Co-authored-by: ra25wog <[email protected]> Co-authored-by: nf-core-bot <[email protected]> Co-authored-by: Louis Le Nézet <[email protected]> Co-authored-by: LouisLeNezet <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Felix Lenner <[email protected]> * trimgalore output versions removed * structure for subworkflow outputs in meta.yml file * Update subworkflows/nf-core/fastq_removeadapters_merge/main.nf Co-authored-by: James A. Fellows Yates <[email protected]> * Update subworkflows/nf-core/fastq_removeadapters_merge/main.nf Co-authored-by: James A. Fellows Yates <[email protected]> * main and meta updated with new one-tool logic * nf-tests updated * var name change * paired_interleaved dropped * adapterremoval merge logic update similar to eager * Update subworkflows/nf-core/fastq_removeadapters_merge/main.nf Co-authored-by: James A. Fellows Yates <[email protected]> * update snapshot --------- Co-authored-by: Júlia Mir Pedrol <[email protected]> Co-authored-by: Hanh Hoang <[email protected]> Co-authored-by: Delfina Terradas <[email protected]> Co-authored-by: Peter Pruisscher <[email protected]> Co-authored-by: Ramprasad Neethiraj <[email protected]> Co-authored-by: Matthias De Smet <[email protected]> Co-authored-by: Jonathan Manning <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Diego Alvarez S. <[email protected]> Co-authored-by: Nathan Weeks <[email protected]> Co-authored-by: Matthias Hörtenhuber <[email protected]> Co-authored-by: mashehu <[email protected]> Co-authored-by: Felix Lenner <[email protected]> Co-authored-by: Sateesh_Peri <[email protected]> Co-authored-by: Louis Le Nézet <[email protected]> Co-authored-by: LouisLeNezet <[email protected]> Co-authored-by: Maxime U Garcia <[email protected]> Co-authored-by: Sebastian Uhrig <[email protected]> Co-authored-by: Anabella Trigila <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Henry Webel <[email protected]> Co-authored-by: Famke Bäuerle <[email protected]> Co-authored-by: nf-core-bot <[email protected]> Co-authored-by: vagkaratzas <[email protected]> Co-authored-by: Evangelos Karatzas <[email protected]> Co-authored-by: Joon Klaps <[email protected]> Co-authored-by: Sameesh Kher <[email protected]> Co-authored-by: Simon Pearce <[email protected]> Co-authored-by: Luca Beltrame <[email protected]> Co-authored-by: Rayan Hassaïne <[email protected]> Co-authored-by: Nicolas Vannieuwkerke <[email protected]> Co-authored-by: Friederike Hanssen <[email protected]> Co-authored-by: Adrien Coulier <[email protected]> Co-authored-by: Georgia Kesisoglou <[email protected]> Co-authored-by: Jose Espinosa-Carrasco <[email protected]> Co-authored-by: HD Yi <[email protected]> Co-authored-by: Dongze He <[email protected]> Co-authored-by: Dongze He <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Jinn <[email protected]> Co-authored-by: ra25wog <[email protected]> Co-authored-by: Jonathan Manning <[email protected]> Co-authored-by: James A. Fellows Yates <[email protected]>
draft of FASTQ_REMOVE_ADAPTERS_AND_MERGE subworkflow with tests